<?php
/**
 * TOP API: alitrip.travel.visa.applicant.update request
 * 
 * @author auto create
 * @since 1.0, 2019.04.18
 */
class AlitripTravelVisaApplicantUpdateRequest
{
	/** 
	 * 特殊必填，申请人基本信息（证件号，姓名，手机号）列表。当operType为1或2时必填
	 **/
	private $applicantInfos;
	
	/** 
	 * 特殊必填，签证申请人进度推进操作（目前只支持对单个申请人状态进行推进）。当operType为3时必填
	 **/
	private $applicantOp;
	
	/** 
	 * 特殊必填，pdf文件字节流。用于上传电子签pdf结果 或者 预约面试信pdf文件。
	 **/
	private $fileBytes;
	
	/** 
	 * 必填，操作类型。1-上传新申请人基本信息（商家代填申请人），2-更新已有申请人基本信息，3-更新已有申请人的签证进度
	 **/
	private $operType;
	
	/** 
	 * 必填，子订单id
	 **/
	private $subOrderId;
	
	private $apiParas = array();
	
	public function setApplicantInfos($applicantInfos)
	{
		$this->applicantInfos = $applicantInfos;
		$this->apiParas["applicant_infos"] = $applicantInfos;
	}

	public function getApplicantInfos()
	{
		return $this->applicantInfos;
	}

	public function setApplicantOp($applicantOp)
	{
		$this->applicantOp = $applicantOp;
		$this->apiParas["applicant_op"] = $applicantOp;
	}

	public function getApplicantOp()
	{
		return $this->applicantOp;
	}

	public function setFileBytes($fileBytes)
	{
		$this->fileBytes = $fileBytes;
		$this->apiParas["file_bytes"] = $fileBytes;
	}

	public function getFileBytes()
	{
		return $this->fileBytes;
	}

	public function setOperType($operType)
	{
		$this->operType = $operType;
		$this->apiParas["oper_type"] = $operType;
	}

	public function getOperType()
	{
		return $this->operType;
	}

	public function setSubOrderId($subOrderId)
	{
		$this->subOrderId = $subOrderId;
		$this->apiParas["sub_order_id"] = $subOrderId;
	}

	public function getSubOrderId()
	{
		return $this->subOrderId;
	}

	public function getApiMethodName()
	{
		return "alitrip.travel.visa.applicant.update";
	}
	
	public function getApiParas()
	{
		return $this->apiParas;
	}
	
	public function check()
	{
		
		RequestCheckUtil::checkNotNull($this->operType,"operType");
		RequestCheckUtil::checkNotNull($this->subOrderId,"subOrderId");
	}
	
	public function putOtherTextParam($key, $value) {
		$this->apiParas[$key] = $value;
		$this->$key = $value;
	}
}
